home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fatted Calf
/
The Fatted Calf.iso
/
Applications
/
DockExtenders
/
Locus
/
Source
/
ActivatorBarView.m
< prev
next >
Wrap
Text File
|
1993-04-29
|
2KB
|
126 lines
/*
Copyright 1993 Jeremy Slade.
You are free to use all or any parts of the Locus project
however you wish, just give credit where credit is due.
The author (Jeremy Slade) shall not be held responsible
for any damages that result out of use or misuse of any
part of this project.
*/
/*
Project: Locus
File: ActivatorBarView.m
Description: See ActivatorBarView.h
Original Author: Jeremy Slade
Revision History:
Created
V.101 JGS Tue Feb 2 18:47:52 GMT-0700 1993
*/
#import "ActivatorBarView.h"
#import "ActivatorBar.h"
#import "Globals.h"
#import "PSWraps.h"
#import <dpsclient/psops.h>
@implementation ActivatorBarView
+ initialize
{
[self setVersion:ActivatorBarView_VERSION];
return ( self );
}
- initFrame:(const NXRect *)rect
{
[super initFrame:rect];
// Set the default fill and border colors:
fillColor = NX_COLORWHITE;
borderColor = NX_COLORBLACK;
return ( self );
}
- setColor:(NXColor)color
/*
Set the view's fill color -- the color used to fill the interior
*/
{
fillColor = color;
if ( vFlags.disableAutodisplay ) [self setNeedsDisplay:YES];
else [self display];
return ( self );
}
- setBorderColor:(NXColor)color
/*
Set the view's border color -- the color used to draw the border
*/
{
borderColor = color;
if ( vFlags.disableAutodisplay ) [self setNeedsDisplay:YES];
else [self display];
return ( self );
}
- drawSelf:(const NXRect *)rects :(int)rectCount
/*
Draw the view -- fills the entire view with the border color, then draws a rectangle inside using the fill color that is 1 pixel shorter on each side.
*/
{
NXRect rect = bounds;
// Draw border using borderColor
NXSetColor ( borderColor );
NXRectFill ( &rect );
// Fill interior with fillColor;
rect.origin.x += 1;
rect.origin.y += 1;
rect.size.width -= 2;
rect.size.height -= 2;
NXSetColor ( fillColor );
NXRectFill ( &rect );
return ( self );
}
- mouseDown:(NXEvent *)event
/*
Trap mouseDown: events (if it is a single-click) and tell our window (an ActivatorBar) that we were hit.
*/
{
// Only send barHit: on single mouse-click
if ( event->data.mouse.click == 1 )
[window tryToPerform:@selector(barHit:) with:self];
return ( self );
}
@end